์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ๋ชจ๋ํฐ๋ง์ ์ํ ํ์ ์ ์ธ CSS @spy ๊ธฐ๋ฒ, ์ค๋ฆฌ์ ์ํฅ ๋ฐ ๊ฐ๋ฐ์ ๋ฐ ๋ณด์ ์ ๋ฌธ๊ฐ๋ฅผ ์ํ ์ค์ฉ์ ์ธ ๊ตฌํ ์ ๋ต์ ํ์ํฉ๋๋ค.
CSS @spy: ํ๋ ๋ชจ๋ํฐ๋ง ๋ฐ ๋ถ์ โ ์ฌ์ธต ๋ถ์
์น ๊ฐ๋ฐ ๋ฐ ๋ณด์์ ๋์์์ด ์งํํ๋ ํ๊ฒฝ์์ ์ฌ์ฉ์ ํ๋๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ์ดํดํ๋ ค๋ ๋ ธ๋ ฅ์ ํ์ ์ ์ธ ๊ธฐ๋ฒ์ ํ์์ผ๋ก ์ด์ด์ก์ต๋๋ค. CSS @spy๋ก ์๋ ค์ง ์ด๋ฌํ ๊ธฐ๋ฒ ์ค ํ๋๋ ์บ์ค์ผ์ด๋ฉ ์คํ์ผ ์ํธ(CSS)์ ํ์ ํ์ฉํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ์ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์๋ฐํ๊ฒ ๋ชจ๋ํฐ๋งํ๊ณ ๋ถ์ํฉ๋๋ค. ์ด ๊ธฐ์ฌ๋ CSS @spy์ ๋ํ ํฌ๊ด์ ์ธ ๊ฐ์๋ฅผ ์ ๊ณตํ๋ฉฐ ๊ธฐ์ ์ ์ธก๋ฉด, ์ค๋ฆฌ์ ๊ณ ๋ ค ์ฌํญ ๋ฐ ์ค์ฉ์ ์ธ ๊ตฌํ์ ์์ธํ ์ค๋ช ํฉ๋๋ค. ์ด ์ฝํ ์ธ ๋ ์ ์ธ๊ณ์ ์ผ๋ก ๋ค์ํ ๊ด์ ์ ์ ๊ณตํ๋ฉฐ ๋ค์ํ ๋ฌธํ ๋ฐ ์ง์ญ์ ์ ์ฉ ๊ฐ๋ฅํ ์์น์ ์ค์ ์ ๋ก๋๋ค.
CSS @spy๋ ๋ฌด์์ธ๊ฐ์?
CSS @spy๋ ๋ณธ์ง์ ์ผ๋ก ์ ํต์ ์ธ ์๋ฏธ์ JavaScript ๋๋ ๊ธฐํ ํด๋ผ์ด์ธํธ ์ธก ์คํฌ๋ฆฝํ
์ธ์ด๋ฅผ ๋ช
์์ ์ผ๋ก ์ฌ์ฉํ์ง ์๊ณ ์น ํ์ด์ง์์ ์ฌ์ฉ์ ํ๋์ ์ถ์ ํ๋ ๋ฐฉ๋ฒ์
๋๋ค. CSS ์ ํ๊ธฐ, ํนํ :visited ์์ฌ ํด๋์ค์ ๊ธฐํ CSS ์์ฑ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ํ๋๊ณผ ์ ํธ๋๋ฅผ ์ถ๋ก ํฉ๋๋ค. CSS ๊ท์น์ ์๋ฆฌํ๊ฒ ์์ฑํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ฌ์ฉ์๊ฐ ์ํธ ์์ฉํ๋ ์์, ๋ฐฉ๋ฌธํ๋ ํ์ด์ง๋ฅผ ๋ฏธ๋ฌํ๊ฒ ๋ชจ๋ํฐ๋งํ๊ณ ์ ์ฌ์ ์ผ๋ก ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ข
์ข
์ฌ์ฉ์ ํ์ ํจํด, ์์ ์ ์ถ ๋ฐ ์์ฒญ ์ค์ธ ์ฝํ
์ธ ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๊ธฐ์ ์ ๊ธฐ์ด ๋ฐ ์์น
CSS @spy์ ํจ๊ณผ๋ ์ฌ๋ฌ CSS ๊ธฐ๋ฅ๊ณผ ํด๋น ๊ธฐ๋ฅ์ด ํ์ฉ๋๋ ๋ฐฉ์์ ๋ฌ๋ ค ์์ต๋๋ค. ์ฃผ์ ์์น์ ๋ถ์ํด ๋ณด๊ฒ ์ต๋๋ค.
- :visited ์์ฌ ํด๋์ค: ์ด๊ฒ์ ์๋ง๋ CSS @spy์ ์ด์์ผ ๊ฒ์
๋๋ค.
:visited์์ฌ ํด๋์ค๋ ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉ์๊ฐ ๋ฐฉ๋ฌธํ ํ ๋งํฌ์ ๋ค๋ฅธ ์คํ์ผ์ ์ ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. ํนํ ์๋ฒ ์ธก ์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ๊ณ ์ ํ ์คํ์ผ(์: ์ถ์ ๋งค๊ฐ๋ณ์๊ฐ ์๋ ์ด๋ฏธ์งsrc์ฌ์ฉ)์ ์ค์ ํจ์ผ๋ก์จ ์ฌ์ฉ์๊ฐ ํด๋ฆญํ ๋งํฌ๋ฅผ ์ถ๋ก ํ ์ ์์ต๋๋ค. - CSS ์ ํ๊ธฐ: ์์ฑ ์ ํ๊ธฐ(์:
[attribute*=value])์ ๊ฐ์ ๊ณ ๊ธ CSS ์ ํ๊ธฐ๋ ์์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ํน์ ์์๋ฅผ ๋์์ผ๋ก ์ง์ ํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํน์ ์ด๋ฆ ๋๋ ID๊ฐ ์๋ ์์ ํ๋๋ฅผ ๋ชจ๋ํฐ๋งํ๋ ๊ฒ๊ณผ ๊ฐ์ด ๋ ์ธ๋ถํ๋ ์ถ์ ์ด ๊ฐ๋ฅํฉ๋๋ค. - CSS ์์ฑ:
:visited๋งํผ ๋ณดํธ์ ์ด์ง๋ ์์ง๋งcolor,background-color๋ฐcontent์ ๊ฐ์ ๋ค๋ฅธ CSS ์์ฑ๋ ์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๊ฑฐ๋ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ๋ฐ ํ์ฉ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ฉ์๊ฐ ์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋div์background-color๋ฅผ ๋ณ๊ฒฝํ ๋ค์ ์๋ฒ ์ธก ๋ก๊น ์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ๊ธฐ๋กํ ์ ์์ต๋๋ค. - ๋ฆฌ์์ค ๋ก๋ฉ ๋ฐ ์บ์ฑ: ๋ฆฌ์์ค(์ด๋ฏธ์ง, ๊ธ๊ผด ๋ฑ)๊ฐ ๋ก๋๋๋ ๋ฐฉ์์ ๋ฏธ๋ฌํ ๋ณ๊ฒฝ ๋๋ ์บ์ฑ ๋ฐฉ์์ ์ฌ์ฉ์ ํ๋์ ๊ฐ์ ์ ์ธ ์ ํธ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์์๊ฐ ๋ก๋๋๊ฑฐ๋ ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ ์๊ฐ์ ์ธก์ ํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ถ๋ก ํ ์ ์์ต๋๋ค.
์์ 1: :visited๋ฅผ ์ฌ์ฉํ์ฌ ๋งํฌ ํด๋ฆญ ์ถ์
๋ค์์ :visited ์์ฌ ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋งํฌ ํด๋ฆญ์ ์ถ์ ํ๋ ๊ฐ๋จํ ์์
๋๋ค. ์ด๊ฒ์ ๊ธฐ๋ณธ ๊ฐ๋
์ด์ง๋ง ํต์ฌ ์์น์ ๊ฐ์กฐํฉ๋๋ค.
a:link {
background-image: url('//tracking-server.com/link_unvisited.gif?link=1');
}
a:visited {
background-image: url('//tracking-server.com/link_visited.gif?link=1');
}
์ด ์์์ ์ฌ์ฉ์๊ฐ href="#link1"์ด ์๋ ๋งํฌ๋ฅผ ๋ฐฉ๋ฌธํ๋ฉด ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๊ฐ ๋ณ๊ฒฝ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ถ์ ์๋ฒ๋ ์ด ๋ณ๊ฒฝ์ ๋ํ ๋ก๊ทธ๋ฅผ ๋ถ์ํ์ฌ ๋งํฌ ๋ฐฉ๋ฌธ์ ๊ธฐ๋กํ ์ ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ CSS๊ฐ ํต์ ํ ์ ์๋ ์ถ์ ์๋ฒ์ ๋ํ ์ก์ธ์ค๊ฐ ํ์ํ๋ค๋ ์ ์ ์ ์ํ์ญ์์ค. ์ด ์๋ ์ค๋ช
์ฉ์ด๋ฉฐ ๋ณด์ ์ ํ์ผ๋ก ์ธํด ์ต์ ๋ธ๋ผ์ฐ์ ์์๋ ์ค์ฉ์ ์ธ ๊ตฌํ์ด ๋์ง ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ๋ณ ์ ํ์ ํผํ๊ธฐ ์ํด ๋ ์ ๊ตํ ๊ธฐ์ ์ด ์ข
์ข
์ฌ์ฉ๋ฉ๋๋ค.
์์ 2: ์์ฑ ์ ํ๊ธฐ ํ์ฉ
์์ฑ ์ ํ๊ธฐ๋ ํน์ ์์๋ฅผ ๋์์ผ๋ก ์ง์ ํ๋ ๋ฐ ๋ ๋ง์ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค. ๋ค์์ ๊ณ ๋ คํ์ญ์์ค.
input[name="email"]:focus {
background-image: url('//tracking-server.com/email_focused.gif');
}
์ด CSS ๊ท์น์ ์ด๋ฆ์ด "email"์ธ ์ ๋ ฅ ํ๋๊ฐ ํฌ์ปค์ค๋ฅผ ์ป์ผ๋ฉด ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. ์๋ฒ๋ ์ด ์ด๋ฏธ์ง์ ๋ํ ์์ฒญ์ ๊ธฐ๋กํ์ฌ ์ฌ์ฉ์๊ฐ ์ด๋ฉ์ผ ์ ๋ ฅ ํ๋์ ํฌ์ปค์ค๋ฅผ ๋ง์ถ๊ฑฐ๋ ์ํธ ์์ฉํ์์ ๋ํ๋ผ ์ ์์ต๋๋ค.
์ค๋ฆฌ์ ๊ณ ๋ ค ์ฌํญ ๋ฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์ํฅ
CSS @spy ๊ธฐ๋ฒ์ ์ฌ์ฉ์ ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด์ ๊ด๋ จํ์ฌ ์ฌ๊ฐํ ์ค๋ฆฌ์ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉ์์ ๋ช ์์ ์ธ ์ง์์ด๋ ๋์ ์์ด ์๋ํ ์ ์์ผ๋ฏ๋ก ์๋ฐํ ์ถ์ ์ ํ ํํ๋ก ๊ฐ์ฃผ๋ ์ ์์ต๋๋ค. ์ด๋ ํฌ๋ช ์ฑ๊ณผ ์์ ์ ๋ฐ์ดํฐ์ ๋ํ ์ฌ์ฉ์ ์ ์ด์ ๋ํ ์ฌ๊ฐํ ์ง๋ฌธ์ ์ ๊ธฐํฉ๋๋ค.
์ฃผ์ ์ค๋ฆฌ์ ๊ณ ๋ ค ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํฌ๋ช ์ฑ: ์ฌ์ฉ์๋ ์์ ์ ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์์ง๋๊ณ ์ฌ์ฉ๋๋์ง์ ๋ํด ์์ ํ ์๋ ค์ผ ํฉ๋๋ค. CSS @spy๋ ์ข ์ข ์๋ฐํ๊ฒ ์๋ํ๋ฉฐ ์ด๋ฌํ ํฌ๋ช ์ฑ์ด ๋ถ์กฑํฉ๋๋ค.
- ๋์: ๊ฐ์ธ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ธฐ ์ ์ ๋ช ์์ ์ธ ๋์๋ฅผ ๋ฐ์์ผ ํฉ๋๋ค. CSS @spy๋ ์ข ์ข ์ด ์๊ตฌ ์ฌํญ์ ์ฐํํ์ฌ ๋ฐ์ดํฐ ์นจํด๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ต์ํ: ํ์ํ ๋ฐ์ดํฐ๋ง ์์งํด์ผ ํฉ๋๋ค. CSS @spy๋ ํ์ํ ๊ฒ๋ณด๋ค ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ฌ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์ํ์ ์ฆ๊ฐ์ํฌ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ๋ณด์: ์์ง๋ ๋ฐ์ดํฐ๋ ๋ฌด๋จ ์ก์ธ์ค ๋ฐ ์ค์ฉ์ผ๋ก๋ถํฐ ์์ ํ๊ฒ ์ ์ฅ๋๊ณ ๋ณดํธ๋์ด์ผ ํฉ๋๋ค. ๋ฏผ๊ฐํ ์ฌ์ฉ์ ์ ๋ณด๊ฐ ์ถ์ ๋๊ณ ์์ ๋ ๋ฐ์ดํฐ ์นจํด ์ํ์ด ์ฆ๊ฐํฉ๋๋ค.
- ์ฌ์ฉ์ ์ ์ด: ์ฌ์ฉ์๋ ์์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ดํ ์ ์์ด์ผ ํ๋ฉฐ ๋ฐ์ดํฐ์ ์ก์ธ์ค, ์์ ๋๋ ์ญ์ ํ ์ ์์ด์ผ ํฉ๋๋ค. CSS @spy๋ ์ข ์ข ์ฌ์ฉ์๊ฐ ์ด๋ฌํ ๊ถ๋ฆฌ๋ฅผ ํ์ฌํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค.
์ ์ธ๊ณ ์ฌ๋ฌ ์ง์ญ์์๋ ๋ค์ํ ๊ท์ ๋ฐ ๋ฒ์ ํ๋ ์์ํฌ๊ฐ ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ์ฌ์ฉ์ ๋์๋ฅผ ๋ค๋ฃน๋๋ค. ์ ๋ฝ์ GDPR(์ผ๋ฐ ๋ฐ์ดํฐ ๋ณดํธ ๊ท์ ) ๋ฐ ๋ฏธ๊ตญ์ CCPA(์บ๋ฆฌํฌ๋์ ์๋น์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฒ)์ ๊ฐ์ ์ด๋ฌํ ๋ฒ๋ฅ ์ ๊ฐ์ธ ๋ฐ์ดํฐ์ ์์ง, ์ฒ๋ฆฌ ๋ฐ ์ ์ฅ ๋ฐฉ๋ฒ์ ๋ํ ์๊ฒฉํ ์๊ตฌ ์ฌํญ์ ๋ถ๊ณผํฉ๋๋ค. CSS @spy๋ฅผ ์ฌ์ฉํ๋ ์กฐ์ง์ ์ด๋ฌํ ๊ท์ ์ ์ค์ํด์ผ ํ๋ฉฐ, ์ด๋ ์ข ์ข ์ ๋ณด์ ์ ๊ฐํ ๋์์ ๊ฐ๋ ฅํ ๋ฐ์ดํฐ ๋ณดํธ ์กฐ์น๋ฅผ ํ์๋ก ํฉ๋๋ค.
๊ธ๋ก๋ฒ ์์: ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฒ์ ๊ตญ๊ฐ๋ง๋ค ํฌ๊ฒ ๋ค๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด ์ค๊ตญ์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฒ(PIPL)์ ๋ฐ์ดํฐ ์์ง ๋ฐ ์ฒ๋ฆฌ์ ๊ดํ ์๊ฒฉํ ์๊ตฌ ์ฌํญ์ ์ ํ๊ณ ์์ผ๋ฉฐ GDPR์ ๋ง์ ์์น์ ๋ฐ์ํฉ๋๋ค. ๋ธ๋ผ์ง์ ์ผ๋ฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฒ(LGPD)์ ๊ฐ์ธ ์ ๋ณด ์ฒ๋ฆฌ๋ฅผ ๊ท์ ํ๊ณ ์ฌ์ฉ์ ๋์์ ์ค์์ฑ์ ๊ฐ์กฐํฉ๋๋ค. ์ธ๋์ ๊ณง ์ํ๋ ๋์งํธ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฒ(DPDP)์ ๋ฐ์ดํฐ ๋ณดํธ์ ํ๋ ์์ํฌ๋ฅผ ์ค์ ํ ๊ฒ์ ๋๋ค. ์ ์ธ๊ณ์ ์ผ๋ก ์ด์๋๋ ์กฐ์ง์ ๊ด๋ จ ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฒ์ ๋ชจ๋ ์ธ์งํ๊ณ ์ค์ํด์ผ ํฉ๋๋ค.
์ค์ฉ์ ์ธ ๊ตฌํ ๋ฐ ์ฌ์ฉ ์ฌ๋ก
์ค๋ฆฌ์ ์ํฅ์ ์ค์ํ์ง๋ง CSS @spy ๊ธฐ๋ฒ์๋ ํฉ๋ฒ์ ์ธ ์ฉ๋๊ฐ ์์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ์ฌ์ฉ์ ์ต๋ํ์ ์ฃผ์์ ํฌ๋ช ์ฑ์ ๊ฐ์ง๊ณ ์ ๊ทผํด์ผ ํฉ๋๋ค.
์ ์ฌ์ ์ฌ์ฉ ์ฌ๋ก(์ค๋ฆฌ์ ์ฃผ์ ์ฌํญ ํฌํจ):
- ์น์ฌ์ดํธ ๋ถ์(์ ํ์ ๋ฒ์): ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๊ธฐ ์ํด ์น์ฌ์ดํธ ๋ด ์ฌ์ฉ์ ํ์ ๊ฒฝ๋ก ๋ถ์. ์ด๋ ์ ์ฉํ ์ ์์ง๋ง ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์ ์ฑ ์ ๋ช ํํ๊ฒ ๊ณต๊ฐ๋์ด์ผ ํ๋ฉฐ ์๋ณ ๋ถ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ง ์์งํด์ผ ํ๋ฉฐ ์ฌ์ฉ์ ๋์๋ฅผ ๋ฐ์์ผ ํฉ๋๋ค.
- ๋ณด์ ๋ถ์: ์ฌ์ฉ์ ์ํธ ์์ฉ ํจํด์ ์ถ์ ํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฌ์ ์ทจ์ฝ์ ์๋ณ. ๋จ, ํต์ ๋ ํ๊ฒฝ์์ ๋ช ์์ ์ธ ํ๊ฐ๋ฅผ ๋ฐ์ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- A/B ํ ์คํธ(์ ํ์ ๋ฒ์): ๋ค์ํ ์น์ฌ์ดํธ ๋์์ธ ๋๋ ์ฝํ ์ธ ๋ณํ์ ํจ๊ณผ ํ๊ฐ. ๋จ, ์ฌ์ฉ์๋ A/B ํ ์คํธ ํ๋ก์ธ์ค์ ๋ช ์์ ์ผ๋ก ์๋ ค์ผ ํฉ๋๋ค.
- ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง: ํน์ ์์์ ๋ก๋ ์๊ฐ์ ๋ชจ๋ํฐ๋งํ์ฌ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ์ง ๋ฐ ํด๊ฒฐ. ๋จ, ํฌ๋ช ํ ๋ฐ์ดํฐ ์์ง์ด ํ์ํฉ๋๋ค.
์ค์ ๊ตฌํ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก ์์:
- ํฌ๋ช ํ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์ ์ฑ : ์น์ฌ์ดํธ์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์ ์ฑ ์ ๋ชจ๋ ๋ฐ์ดํฐ ์์ง ๊ดํ์ ๋ช ํํ๊ฒ ๊ณต๊ฐํ์ญ์์ค. (ํด๋น๋๋ ๊ฒฝ์ฐ) CSS @spy ๊ธฐ๋ฒ ์ฌ์ฉ ํฌํจ.
- ์ฌ์ฉ์ ๋์ ํ๋: ํนํ ๊ฐ์ธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋ CSS @spy๋ฅผ ๊ตฌํํ๊ธฐ ์ ์ ๋ช ์์ ์ธ ์ฌ์ฉ์ ๋์๋ฅผ ์ต์ฐ์ ์ผ๋ก ํ์ญ์์ค.
- ๋ฐ์ดํฐ ์ต์ํ: ์๋ํ ๋ชฉ์ ์ ๋ฌ์ฑํ๋ ๋ฐ ํ์ํ ์ต์ํ์ ๋ฐ์ดํฐ๋ง ์์งํ์ญ์์ค.
- ๋ฐ์ดํฐ ์ต๋ช ํ: ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์์ง๋ ๋ฐ์ดํฐ๋ฅผ ์ต๋ช ํํ์ฌ ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ๋ณดํธํ์ญ์์ค.
- ์์ ํ ๋ฐ์ดํฐ ์ ์ฅ: ๋ฌด๋จ ์ก์ธ์ค, ์ฌ์ฉ ๋๋ ๊ณต๊ฐ๋ก๋ถํฐ ์์ง๋ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ธฐ ์ํ ๊ฐ๋ ฅํ ๋ณด์ ์กฐ์น๋ฅผ ๊ตฌํํ์ญ์์ค.
- ์ ๊ธฐ ๊ฐ์ฌ: ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ๋ฐ ์ค๋ฆฌ ์ง์นจ ์ค์๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด CSS @spy ๊ตฌํ์ ๋ํ ์ ๊ธฐ ๊ฐ์ฌ๋ฅผ ์ํํ์ญ์์ค.
- ์ฌ์ฉ์ ์ ์ด ์ ๊ณต: ์ฌ์ฉ์์๊ฒ ์ถ์ ๊ฑฐ๋ถ ๋๋ ๋ฐ์ดํฐ ์ ์ด ์ต์ ์ ์ ๊ณตํ์ญ์์ค(์: ๊ธฐ๋ณธ ์ค์ ์ผํฐ).
ํ์ง ๋ฐ ์ํ
์ฌ์ฉ์์ ๋ณด์ ์ ๋ฌธ๊ฐ๋ CSS @spy ์ ์ ์ ํ์งํ๊ณ ์ํํ๊ธฐ ์ํ ๋๊ตฌ์ ์ ๋ต์ด ํ์ํฉ๋๋ค. ๊ฐ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ: NoScript, Privacy Badger ๋ฐ uBlock Origin๊ณผ ๊ฐ์ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ CSS ๊ธฐ๋ฐ ์ถ์ ๊ธฐ๋ฒ์ ์คํ์ ์ฐจ๋จํ๊ฑฐ๋ ์ ํํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ ์ข ์ข ๋คํธ์ํฌ ์์ฒญ, CSS ๊ท์น ๋ฐ JavaScript ๋์์ ๋ชจ๋ํฐ๋งํ์ฌ ์ ์ฑ ์ฝ๋๋ฅผ ์๋ณํ๊ณ ์ฐจ๋จํฉ๋๋ค.
- ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฉํ๋ฒฝ(WAF): WAF๋ CSS @spy ์ฌ์ฉ์ ๋ํ๋ด๋ ์์ฌ์ค๋ฌ์ด CSS ํจํด์ ํ์งํ๊ณ ์ฐจ๋จํ๋๋ก ๊ตฌ์ฑ๋ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ CSS ํ์ผ๊ณผ ํด๋น ์์ฒญ์ ๋ถ์ํ์ฌ ์ ์ฑ ์ฝ๋๋ฅผ ํฌํจํ๋์ง ํ์ธํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
- ๋คํธ์ํฌ ๋ชจ๋ํฐ๋ง ๋๊ตฌ: ๋คํธ์ํฌ ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ CSS @spy์ ์ฐ๊ด๋ ์ ์๋ ๋น์ ์์ ์ธ ๋คํธ์ํฌ ํธ๋ํฝ ํจํด์ ์๋ณํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ์ถ๊ฐ ์์ฒญ์ ํธ๋ฆฌ๊ฑฐํ ์ ์๋ ์ด๋ฏธ์ง ๋ฐ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ๊ท์น์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ชจ๋ํฐ๋งํ๋ ๊ฒ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ๋ณด์ ๊ฐ์ฌ ๋ฐ ์นจํฌ ํ ์คํธ: ๋ณด์ ์ ๋ฌธ๊ฐ๋ CSS @spy ๋ฐ ๊ธฐํ ์ถ์ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉ์ ์๋ณํ๊ธฐ ์ํด ๊ฐ์ฌ๋ฅผ ์ํํฉ๋๋ค. ์นจํฌ ํ ์คํธ๋ ์ค์ ๊ณต๊ฒฉ์ ์๋ฎฌ๋ ์ด์ ํ๊ณ ๋ณด์ ๊ฐ์ ์ ์ํ ๊ถ์ฅ ์ฌํญ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ์ธ์: ์ฌ์ฉ์์๊ฒ ์จ๋ผ์ธ ์ถ์ ๊ณผ ๊ด๋ จ๋ ์ํ์ ๋ํด ๊ต์กํ๊ณ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ๋ณดํธํ๊ธฐ ์ํ ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฝํ ์ธ ๋ณด์ ์ ์ฑ (CSP): ์๊ฒฉํ CSP๋ฅผ ๊ตฌํํ๋ฉด CSS ๋ฐ ๊ธฐํ ์น ๋ฆฌ์์ค์ ๋ฒ์๋ฅผ ์ ํํ์ฌ ์ ๊ตํ CSS @spy ๊ธฐ๋ฒ์ ๊ตฌํํ๊ธฐ ๋ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. CSP๋ฅผ ํตํด ์น ๊ฐ๋ฐ์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ก๋ํ ์ ์๋ ๋์ ๋ฆฌ์์ค๋ฅผ ์ ์ธํ์ฌ ๊ณต๊ฒฉ ํ๋ฉด์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
CSS @spy์ ๋ฏธ๋
CSS @spy์ ๋ฏธ๋๋ ๋ธ๋ผ์ฐ์ ๋ณด์์ ๋ฐ์ , ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ์ ์งํ, ๊ฐ๋ฐ์์ ์ฐฝ์์ฑ ๋ฑ ๋ค์ํ ์์ธ์ ๋ฌ๋ ค ์์ต๋๋ค. ๋ช ๊ฐ์ง ์ ์ฌ์ ๋ฐ์ ์ ๊ธฐ๋ํ ์ ์์ต๋๋ค.
- ํฅ์๋ ๋ธ๋ผ์ฐ์ ๋ณด์: ๋ธ๋ผ์ฐ์ ๋ ๋ณด์์ ๊ฐํํ๊ธฐ ์ํด ๋์์์ด ๋ฐ์ ํ๊ณ ์์ผ๋ฉฐ, ๋ฏธ๋ ๋ฒ์ ์์๋ CSS ๊ธฐ๋ฐ ์ถ์ ๊ธฐ๋ฒ์ ๋ํ ๋ณด๋ค ๊ฐ๋ ฅํ ๋ณดํธ ๊ธฐ๋ฅ์ ๋์
ํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ฌ๊ธฐ์๋
:visited์์ฌ ํด๋์ค์ ๋ํ ์ ํ, ํฅ์๋ ์ฝํ ์ธ ๋ณด์ ์ ์ฑ ๋ฐ ๊ธฐํ ๋์ ์กฐ์น๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. - ๋ ์๊ฒฉํ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ : ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฌธ์ ์ ๋ํ ์ธ์์ด ๋์์ง์ ๋ฐ๋ผ ์ ์ธ๊ณ ์ ๋ถ๋ ์จ๋ผ์ธ ๋ฐ์ดํฐ ์์ง์ ๊ท์ ํ๋ ๋ณด๋ค ์๊ฒฉํ ๊ท์ ์ ์ ์ ํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ช ์์ ์ธ ๋์ ๋ฐ ์๋นํ ๋ฐ์ดํฐ ๋ณดํธ ์กฐ์น ์์ด๋ CSS @spy ๊ธฐ๋ฒ์ ๋ฐฐํฌํ๊ธฐ๊ฐ ๋ ์ด๋ ต๊ฑฐ๋ ๋ถ๋ฒ์ ์ผ ์ ์์ต๋๋ค.
- ์ ๊ตํ ๊ธฐ๋ฒ: ์ ํต์ ์ธ CSS @spy ๋ฐฉ๋ฒ์ ํจ๊ณผ๊ฐ ๋จ์ด์ง๊ณ ์์ง๋ง ๊ฐ๋ฐ์๋ ๋ ๋ณต์กํ๊ณ ๊ฐ์งํ๊ธฐ ์ด๋ ค์ด ๊ธฐ๋ฒ์ ๊ณ ์ํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ CSS๋ฅผ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ ์ธก ๊ธฐ์ ๊ณผ ๊ฒฐํฉํ๊ฑฐ๋ ๋ฏธ๋ฌํ ํ์ด๋ฐ ๊ณต๊ฒฉ์ ํ์ฉํ๋ ๊ฒ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ํฌ๋ช ์ฑ ๋ฐ ์ฌ์ฉ์ ์ ์ด์ ๋ํ ์ง์ค: ๋ณด๋ค ํฌ๋ช ํ๊ณ ์ค๋ฆฌ์ ์ธ ๋ฐ์ดํฐ ์์ง ๊ดํ์ผ๋ก์ ์ ํ์ด ์์ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ์ ๋ํ ๋ ๋ง์ ์ ์ด๋ฅผ ์ ๊ณตํ๊ณ ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง์ ๋ํ ๋ช ํํ ์ดํด๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ ์ง์คํ ์ ์์ต๋๋ค.
๊ตญ์ ํ๋ ฅ: CSS @spy ๋ฐ ์จ๋ผ์ธ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ์ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๊ตญ์ ํ๋ ฅ์ด ํ์ํฉ๋๋ค. ์กฐ์ง, ์ ๋ถ ๋ฐ ๊ธฐ์ ์ ๊ณต์ ์ฒด๋ ๋ช ํํ ํ์ค์ ์๋ฆฝํ๊ณ ํจ๊ณผ์ ์ธ ์ํ ๊ธฐ์ ์ ๊ฐ๋ฐํ๋ฉฐ ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ ์์ง์ ์ํ๊ณผ ์ด์ ์ ๋ํด ๊ต์กํ๊ธฐ ์ํด ํ๋ ฅํด์ผ ํฉ๋๋ค. ๋ชจ๋ฒ ์ฌ๋ก ๊ณต์ , ์ฐ๊ตฌ ์ด์ง ๋ฐ ์ฉ์ด(์: "๊ฐ์ธ ๋ฐ์ดํฐ" ๊ตฌ์ฑ)์ ๋ํ ๊ณตํต ์ ์ ์ค์ ์ ๋ณด๋ค ์์ ํ๊ณ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ์กด์คํ๋ ์จ๋ผ์ธ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
๊ฒฐ๋ก
CSS @spy๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ๋ชจ๋ํฐ๋ง์ ์ํ ๊ฐ๋ ฅํ ๊ธฐ๋ฒ์ ๋ํ๋ ๋๋ค. ๊ทธ๋ฌ๋ ์ค์ฉ ๊ฐ๋ฅ์ฑ๊ณผ ์ค๋ฆฌ์ ์ํฅ์ ์ ์คํ ๊ณ ๋ ค๋ฅผ ํ์๋ก ํฉ๋๋ค. ์ฌ์ฉ์ ํ๋ ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ๋ํ ๊ท์คํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ์ง๋ง, ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด ์กด์ค ๋ฐ ๋ฒ์ ๋ฐ ๊ท์ ์๊ตฌ ์ฌํญ ์ค์์ ๊ท ํ์ ๋ง์ถฐ์ผ ํฉ๋๋ค. CSS @spy์ ๊ด๋ จ๋ ๊ธฐ์ ์ ๊ธฐ์ด, ์ค๋ฆฌ์ ์ฐ๋ ค ๋ฐ ํ์ง ๋ฐ ์ํ ์ ๋ต์ ์ดํดํจ์ผ๋ก์จ ๊ฐ๋ฐ์, ๋ณด์ ์ ๋ฌธ๊ฐ ๋ฐ ์ฌ์ฉ์๋ ๋ณด๋ค ์์ ํ๊ณ ์ฑ ์๊ฐ ์๊ฒ ์จ๋ผ์ธ ํ๊ฒฝ์ ํ์ํ ์ ์์ต๋๋ค. ์ธํฐ๋ท์ ๋์์์ด ๋ณํํ๋ ์ธ์์์ ์ ์ธ๊ณ ์๋ฏผ๋ค์ ์ด๋ฌํ ๊ดํ, ์ด๋ฅผ ๊ท์ ํ๋ ๋ฒ๋ฅ ๋ฐ ๊ฐ์ธ ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ธ์ํด์ผ ํฉ๋๋ค.